/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.melikefailing.multimap;

import java.util.HashMap;
import java.util.Map;

/**
 *
 * @author NegoZiatoR
 */
public class MultiMap<K, V>
{
    // Instance variables
    private final Map<K, V> multiMap = new HashMap<K, V>();

    /*
     * Create an instance of MultiMap
     */
    public MultiMap()
    {
    }

    /**
     * Copy constructor: Creates a new multi map object with the same contents as the parameter 
     * @param other Multimap to copy
     * @throws IllegalArgumentException if other is null
     */
    public MultiMap(MultiMap<K, V> other) throws IllegalArgumentException
    {
        if (null == other)
        {
            throw new IllegalArgumentException("Map to copy is null !");
        }
    } // End multimap

    /**
     * Adds the value to the set for the key.
     * If the set for this key does not exist, the set is created and the value is added to the set.
     * If the set for this key already contains the value, the put operations is ignored. 
     * @param key 
     * @param value
     * @return
     * @throws IllegalArgumentException 
     */
    public boolean put(K key, V value) throws IllegalArgumentException
    {
        if (null == key)
        {
            throw new IllegalArgumentException("Key is null");
        }
        else
        {
            return true;
        }
    }
} // End class MultiMap
